package com.qhy.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class ViewProAExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ViewProAExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andPsIdIsNull() {
            addCriterion("ps_id is null");
            return (Criteria) this;
        }

        public Criteria andPsIdIsNotNull() {
            addCriterion("ps_id is not null");
            return (Criteria) this;
        }

        public Criteria andPsIdEqualTo(Integer value) {
            addCriterion("ps_id =", value, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdNotEqualTo(Integer value) {
            addCriterion("ps_id <>", value, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdGreaterThan(Integer value) {
            addCriterion("ps_id >", value, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ps_id >=", value, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdLessThan(Integer value) {
            addCriterion("ps_id <", value, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdLessThanOrEqualTo(Integer value) {
            addCriterion("ps_id <=", value, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdIn(List<Integer> values) {
            addCriterion("ps_id in", values, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdNotIn(List<Integer> values) {
            addCriterion("ps_id not in", values, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdBetween(Integer value1, Integer value2) {
            addCriterion("ps_id between", value1, value2, "psId");
            return (Criteria) this;
        }

        public Criteria andPsIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ps_id not between", value1, value2, "psId");
            return (Criteria) this;
        }

        public Criteria andPsNameIsNull() {
            addCriterion("ps_name is null");
            return (Criteria) this;
        }

        public Criteria andPsNameIsNotNull() {
            addCriterion("ps_name is not null");
            return (Criteria) this;
        }

        public Criteria andPsNameEqualTo(String value) {
            addCriterion("ps_name =", value, "psName");
            return (Criteria) this;
        }

        public Criteria andPsNameNotEqualTo(String value) {
            addCriterion("ps_name <>", value, "psName");
            return (Criteria) this;
        }

        public Criteria andPsNameGreaterThan(String value) {
            addCriterion("ps_name >", value, "psName");
            return (Criteria) this;
        }

        public Criteria andPsNameGreaterThanOrEqualTo(String value) {
            addCriterion("ps_name >=", value, "psName");
            return (Criteria) this;
        }

        public Criteria andPsNameLessThan(String value) {
            addCriterion("ps_name <", value, "psName");
            return (Criteria) this;
        }

        public Criteria andPsNameLessThanOrEqualTo(String value) {
            addCriterion("ps_name <=", value, "psName");
            return (Criteria) this;
        }

        public Criteria andPsNameLike(String value) {
            addCriterion("ps_name like", value, "psName");
            return (Criteria) this;
        }

        public Criteria andPsNameNotLike(String value) {
            addCriterion("ps_name not like", value, "psName");
            return (Criteria) this;
        }

        public Criteria andPsNameIn(List<String> values) {
            addCriterion("ps_name in", values, "psName");
            return (Criteria) this;
        }

        public Criteria andPsNameNotIn(List<String> values) {
            addCriterion("ps_name not in", values, "psName");
            return (Criteria) this;
        }

        public Criteria andPsNameBetween(String value1, String value2) {
            addCriterion("ps_name between", value1, value2, "psName");
            return (Criteria) this;
        }

        public Criteria andPsNameNotBetween(String value1, String value2) {
            addCriterion("ps_name not between", value1, value2, "psName");
            return (Criteria) this;
        }

        public Criteria andPsStarttimeIsNull() {
            addCriterion("ps_starttime is null");
            return (Criteria) this;
        }

        public Criteria andPsStarttimeIsNotNull() {
            addCriterion("ps_starttime is not null");
            return (Criteria) this;
        }

        public Criteria andPsStarttimeEqualTo(Date value) {
            addCriterionForJDBCDate("ps_starttime =", value, "psStarttime");
            return (Criteria) this;
        }

        public Criteria andPsStarttimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("ps_starttime <>", value, "psStarttime");
            return (Criteria) this;
        }

        public Criteria andPsStarttimeGreaterThan(Date value) {
            addCriterionForJDBCDate("ps_starttime >", value, "psStarttime");
            return (Criteria) this;
        }

        public Criteria andPsStarttimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ps_starttime >=", value, "psStarttime");
            return (Criteria) this;
        }

        public Criteria andPsStarttimeLessThan(Date value) {
            addCriterionForJDBCDate("ps_starttime <", value, "psStarttime");
            return (Criteria) this;
        }

        public Criteria andPsStarttimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ps_starttime <=", value, "psStarttime");
            return (Criteria) this;
        }

        public Criteria andPsStarttimeIn(List<Date> values) {
            addCriterionForJDBCDate("ps_starttime in", values, "psStarttime");
            return (Criteria) this;
        }

        public Criteria andPsStarttimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("ps_starttime not in", values, "psStarttime");
            return (Criteria) this;
        }

        public Criteria andPsStarttimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ps_starttime between", value1, value2, "psStarttime");
            return (Criteria) this;
        }

        public Criteria andPsStarttimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ps_starttime not between", value1, value2, "psStarttime");
            return (Criteria) this;
        }

        public Criteria andPsEndtimeIsNull() {
            addCriterion("ps_endtime is null");
            return (Criteria) this;
        }

        public Criteria andPsEndtimeIsNotNull() {
            addCriterion("ps_endtime is not null");
            return (Criteria) this;
        }

        public Criteria andPsEndtimeEqualTo(Date value) {
            addCriterionForJDBCDate("ps_endtime =", value, "psEndtime");
            return (Criteria) this;
        }

        public Criteria andPsEndtimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("ps_endtime <>", value, "psEndtime");
            return (Criteria) this;
        }

        public Criteria andPsEndtimeGreaterThan(Date value) {
            addCriterionForJDBCDate("ps_endtime >", value, "psEndtime");
            return (Criteria) this;
        }

        public Criteria andPsEndtimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ps_endtime >=", value, "psEndtime");
            return (Criteria) this;
        }

        public Criteria andPsEndtimeLessThan(Date value) {
            addCriterionForJDBCDate("ps_endtime <", value, "psEndtime");
            return (Criteria) this;
        }

        public Criteria andPsEndtimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("ps_endtime <=", value, "psEndtime");
            return (Criteria) this;
        }

        public Criteria andPsEndtimeIn(List<Date> values) {
            addCriterionForJDBCDate("ps_endtime in", values, "psEndtime");
            return (Criteria) this;
        }

        public Criteria andPsEndtimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("ps_endtime not in", values, "psEndtime");
            return (Criteria) this;
        }

        public Criteria andPsEndtimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ps_endtime between", value1, value2, "psEndtime");
            return (Criteria) this;
        }

        public Criteria andPsEndtimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("ps_endtime not between", value1, value2, "psEndtime");
            return (Criteria) this;
        }

        public Criteria andPsGetmoneyIsNull() {
            addCriterion("ps_getmoney is null");
            return (Criteria) this;
        }

        public Criteria andPsGetmoneyIsNotNull() {
            addCriterion("ps_getmoney is not null");
            return (Criteria) this;
        }

        public Criteria andPsGetmoneyEqualTo(Double value) {
            addCriterion("ps_getmoney =", value, "psGetmoney");
            return (Criteria) this;
        }

        public Criteria andPsGetmoneyNotEqualTo(Double value) {
            addCriterion("ps_getmoney <>", value, "psGetmoney");
            return (Criteria) this;
        }

        public Criteria andPsGetmoneyGreaterThan(Double value) {
            addCriterion("ps_getmoney >", value, "psGetmoney");
            return (Criteria) this;
        }

        public Criteria andPsGetmoneyGreaterThanOrEqualTo(Double value) {
            addCriterion("ps_getmoney >=", value, "psGetmoney");
            return (Criteria) this;
        }

        public Criteria andPsGetmoneyLessThan(Double value) {
            addCriterion("ps_getmoney <", value, "psGetmoney");
            return (Criteria) this;
        }

        public Criteria andPsGetmoneyLessThanOrEqualTo(Double value) {
            addCriterion("ps_getmoney <=", value, "psGetmoney");
            return (Criteria) this;
        }

        public Criteria andPsGetmoneyIn(List<Double> values) {
            addCriterion("ps_getmoney in", values, "psGetmoney");
            return (Criteria) this;
        }

        public Criteria andPsGetmoneyNotIn(List<Double> values) {
            addCriterion("ps_getmoney not in", values, "psGetmoney");
            return (Criteria) this;
        }

        public Criteria andPsGetmoneyBetween(Double value1, Double value2) {
            addCriterion("ps_getmoney between", value1, value2, "psGetmoney");
            return (Criteria) this;
        }

        public Criteria andPsGetmoneyNotBetween(Double value1, Double value2) {
            addCriterion("ps_getmoney not between", value1, value2, "psGetmoney");
            return (Criteria) this;
        }

        public Criteria andPsMoneyIsNull() {
            addCriterion("ps_money is null");
            return (Criteria) this;
        }

        public Criteria andPsMoneyIsNotNull() {
            addCriterion("ps_money is not null");
            return (Criteria) this;
        }

        public Criteria andPsMoneyEqualTo(Double value) {
            addCriterion("ps_money =", value, "psMoney");
            return (Criteria) this;
        }

        public Criteria andPsMoneyNotEqualTo(Double value) {
            addCriterion("ps_money <>", value, "psMoney");
            return (Criteria) this;
        }

        public Criteria andPsMoneyGreaterThan(Double value) {
            addCriterion("ps_money >", value, "psMoney");
            return (Criteria) this;
        }

        public Criteria andPsMoneyGreaterThanOrEqualTo(Double value) {
            addCriterion("ps_money >=", value, "psMoney");
            return (Criteria) this;
        }

        public Criteria andPsMoneyLessThan(Double value) {
            addCriterion("ps_money <", value, "psMoney");
            return (Criteria) this;
        }

        public Criteria andPsMoneyLessThanOrEqualTo(Double value) {
            addCriterion("ps_money <=", value, "psMoney");
            return (Criteria) this;
        }

        public Criteria andPsMoneyIn(List<Double> values) {
            addCriterion("ps_money in", values, "psMoney");
            return (Criteria) this;
        }

        public Criteria andPsMoneyNotIn(List<Double> values) {
            addCriterion("ps_money not in", values, "psMoney");
            return (Criteria) this;
        }

        public Criteria andPsMoneyBetween(Double value1, Double value2) {
            addCriterion("ps_money between", value1, value2, "psMoney");
            return (Criteria) this;
        }

        public Criteria andPsMoneyNotBetween(Double value1, Double value2) {
            addCriterion("ps_money not between", value1, value2, "psMoney");
            return (Criteria) this;
        }

        public Criteria andUsNameIsNull() {
            addCriterion("us_name is null");
            return (Criteria) this;
        }

        public Criteria andUsNameIsNotNull() {
            addCriterion("us_name is not null");
            return (Criteria) this;
        }

        public Criteria andUsNameEqualTo(String value) {
            addCriterion("us_name =", value, "usName");
            return (Criteria) this;
        }

        public Criteria andUsNameNotEqualTo(String value) {
            addCriterion("us_name <>", value, "usName");
            return (Criteria) this;
        }

        public Criteria andUsNameGreaterThan(String value) {
            addCriterion("us_name >", value, "usName");
            return (Criteria) this;
        }

        public Criteria andUsNameGreaterThanOrEqualTo(String value) {
            addCriterion("us_name >=", value, "usName");
            return (Criteria) this;
        }

        public Criteria andUsNameLessThan(String value) {
            addCriterion("us_name <", value, "usName");
            return (Criteria) this;
        }

        public Criteria andUsNameLessThanOrEqualTo(String value) {
            addCriterion("us_name <=", value, "usName");
            return (Criteria) this;
        }

        public Criteria andUsNameLike(String value) {
            addCriterion("us_name like", value, "usName");
            return (Criteria) this;
        }

        public Criteria andUsNameNotLike(String value) {
            addCriterion("us_name not like", value, "usName");
            return (Criteria) this;
        }

        public Criteria andUsNameIn(List<String> values) {
            addCriterion("us_name in", values, "usName");
            return (Criteria) this;
        }

        public Criteria andUsNameNotIn(List<String> values) {
            addCriterion("us_name not in", values, "usName");
            return (Criteria) this;
        }

        public Criteria andUsNameBetween(String value1, String value2) {
            addCriterion("us_name between", value1, value2, "usName");
            return (Criteria) this;
        }

        public Criteria andUsNameNotBetween(String value1, String value2) {
            addCriterion("us_name not between", value1, value2, "usName");
            return (Criteria) this;
        }

        public Criteria andPstNameIsNull() {
            addCriterion("pst_name is null");
            return (Criteria) this;
        }

        public Criteria andPstNameIsNotNull() {
            addCriterion("pst_name is not null");
            return (Criteria) this;
        }

        public Criteria andPstNameEqualTo(String value) {
            addCriterion("pst_name =", value, "pstName");
            return (Criteria) this;
        }

        public Criteria andPstNameNotEqualTo(String value) {
            addCriterion("pst_name <>", value, "pstName");
            return (Criteria) this;
        }

        public Criteria andPstNameGreaterThan(String value) {
            addCriterion("pst_name >", value, "pstName");
            return (Criteria) this;
        }

        public Criteria andPstNameGreaterThanOrEqualTo(String value) {
            addCriterion("pst_name >=", value, "pstName");
            return (Criteria) this;
        }

        public Criteria andPstNameLessThan(String value) {
            addCriterion("pst_name <", value, "pstName");
            return (Criteria) this;
        }

        public Criteria andPstNameLessThanOrEqualTo(String value) {
            addCriterion("pst_name <=", value, "pstName");
            return (Criteria) this;
        }

        public Criteria andPstNameLike(String value) {
            addCriterion("pst_name like", value, "pstName");
            return (Criteria) this;
        }

        public Criteria andPstNameNotLike(String value) {
            addCriterion("pst_name not like", value, "pstName");
            return (Criteria) this;
        }

        public Criteria andPstNameIn(List<String> values) {
            addCriterion("pst_name in", values, "pstName");
            return (Criteria) this;
        }

        public Criteria andPstNameNotIn(List<String> values) {
            addCriterion("pst_name not in", values, "pstName");
            return (Criteria) this;
        }

        public Criteria andPstNameBetween(String value1, String value2) {
            addCriterion("pst_name between", value1, value2, "pstName");
            return (Criteria) this;
        }

        public Criteria andPstNameNotBetween(String value1, String value2) {
            addCriterion("pst_name not between", value1, value2, "pstName");
            return (Criteria) this;
        }

        public Criteria andPsFileIsNull() {
            addCriterion("ps_file is null");
            return (Criteria) this;
        }

        public Criteria andPsFileIsNotNull() {
            addCriterion("ps_file is not null");
            return (Criteria) this;
        }

        public Criteria andPsFileEqualTo(String value) {
            addCriterion("ps_file =", value, "psFile");
            return (Criteria) this;
        }

        public Criteria andPsFileNotEqualTo(String value) {
            addCriterion("ps_file <>", value, "psFile");
            return (Criteria) this;
        }

        public Criteria andPsFileGreaterThan(String value) {
            addCriterion("ps_file >", value, "psFile");
            return (Criteria) this;
        }

        public Criteria andPsFileGreaterThanOrEqualTo(String value) {
            addCriterion("ps_file >=", value, "psFile");
            return (Criteria) this;
        }

        public Criteria andPsFileLessThan(String value) {
            addCriterion("ps_file <", value, "psFile");
            return (Criteria) this;
        }

        public Criteria andPsFileLessThanOrEqualTo(String value) {
            addCriterion("ps_file <=", value, "psFile");
            return (Criteria) this;
        }

        public Criteria andPsFileLike(String value) {
            addCriterion("ps_file like", value, "psFile");
            return (Criteria) this;
        }

        public Criteria andPsFileNotLike(String value) {
            addCriterion("ps_file not like", value, "psFile");
            return (Criteria) this;
        }

        public Criteria andPsFileIn(List<String> values) {
            addCriterion("ps_file in", values, "psFile");
            return (Criteria) this;
        }

        public Criteria andPsFileNotIn(List<String> values) {
            addCriterion("ps_file not in", values, "psFile");
            return (Criteria) this;
        }

        public Criteria andPsFileBetween(String value1, String value2) {
            addCriterion("ps_file between", value1, value2, "psFile");
            return (Criteria) this;
        }

        public Criteria andPsFileNotBetween(String value1, String value2) {
            addCriterion("ps_file not between", value1, value2, "psFile");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}